import java.text.Collator;
import java.text.RuleBasedCollator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Locale;

public class ArralistTest2 {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("湖北省");
        arrayList.add("江苏省");
        arrayList.add("北京市");
        arrayList.add("广东省");
        arrayList.add("广西壮族自治区");
        arrayList.add("内蒙古自治区");
//        根据字符串长度升序排序
        arrayList.sort(Comparator.comparing(String::length));
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i));
        }
        System.out.println("____________");
//        忽略字母的大小写，按字母顺序排序
        arrayList.sort(Comparator.comparing(String::toUpperCase));
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i));
        }
        System.out.println("__________");
//        中文首字符的首字母排序（即按拼音首字母排序）
        //创建中文排序器
        Collator collator = Collator.getInstance(Locale.CHINA);
        //忽略音调差异
        collator.setStrength(Collator.PRIMARY);

        Collections.sort(arrayList,collator);
        arrayList.forEach(System.out::println);
    }
}


